﻿#region Using directives

using System;
using MCMLXVII.Core.Common.BackEnd;
using System.Xml;
using System.Xml.Serialization;

#endregion

namespace MCMLXVII.Core.Pipeline
{

    public class BindingConfig
    {
        public BindingConfig()
        {

        }

        private string _Name;
        [XmlAttribute]
        public string Name
        {
            get
            {
                return _Name;
            }

            set
            {
                _Name = value;
            }
        }

        private string _Type;
        [XmlAttribute]
        public string Type
        {
            get
            {
                return _Type;
            }

            set
            {
                _Type = value;
            }
        }

        private HandlerActivationMode _ActivationMode;
        [XmlAttribute]
        public HandlerActivationMode ActivationMode
        {
            get
            {
                return _ActivationMode;
            }

            set
            {
                _ActivationMode = value;
            }
        }

        private bool _ShareInstance;
        [XmlAttribute]
        public bool ShareInstance
        {
            get
            {
                return _ShareInstance;
            }

            set
            {
                _ShareInstance = value;
            }
        }

        private XmlNode _Config;
        public XmlNode Config
        {
            get
            {
                return _Config;
            }

            set
            {
                _Config = value;
            }
        }

    }

    public class BindingsConfiguration
    {
        public BindingsConfiguration()
        {
        }

        private BindingConfig[] _Bindings;
        public BindingConfig[] Bindings
        {
            get
            {
                return _Bindings;
            }

            set
            {
                _Bindings = value;
            }
        }
    }
}
